翻訳と辞書
Words near each other
・ Movement for the Autonomy of Kabylie
・ Movement for the Autonomy of Romagna
・ Movement for the Comoros
・ Movement for the Confederation of the Communists
・ Movement for the Defence of the Republic
・ Movement for the Democracy of Angola
・ Movement for the Emancipation of the Niger Delta
・ Movement for the Future of Curaçao
・ Movement for the Independence of Sicily
・ Movement for the Independence, Renaissance, and Integration of Africa
・ Move Your Hand
・ Move Your Shadow
・ Move α
・ Move'm
・ Move-by-wire
Move-to-front transform
・ Moveable
・ Moveable bridge
・ Moveable Feast
・ Moveable feast (observance practice)
・ Moveboxer
・ Movebubble
・ Movelah
・ Movelier
・ Movemail
・ Movember
・ Movember Foundation
・ MoveMeant
・ Movement
・ Movement (9mm Parabellum Bullet album)


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Move-to-front transform : ウィキペディア英語版
Move-to-front transform

The move-to-front (MTF) transform is an encoding of data (typically a stream of bytes) designed to improve the performance of entropy encoding techniques of compression. When efficiently implemented, it is fast enough that its benefits usually justify including it as an extra step in data compression algorithms.
==The transform==

The main idea is that each symbol in the data is replaced by its index in the stack of “recently used symbols”. For example, long sequences of identical symbols are replaced by as many zeroes, whereas when a symbol that has not been used in a long time appears, it is replaced with a large number. Thus at the end the data is transformed into a sequence of integers; if the data exhibits a lot of local correlations, then these integers tend to be small.
This algorithm was published in a paper by Ryabko.〔Ryabko, B. Ya Data compression by means of a "book stack”, Problems of Information Transmission, 1980, v. 16: (4), pp. 265–269〕 The original name of this code is “book stack”.
Let us give a precise description. Assume for simplicity that the symbols in the data are bytes.
Each byte value is encoded by its index in a list of bytes, which changes over the course of the algorithm. The list is initially in order by byte value (0, 1, 2, 3, ..., 255). Therefore, the first byte is always encoded by its own value. However, after encoding a byte, that value is moved to the front of the list before continuing to the next byte.
An example will shed some light on how the transform works. Imagine instead of bytes, we are encoding values in a–z. We wish to transform the following sequence:
bananaaa
By convention, the list is initially (abcdefghijklmnopqrstuvwxyz). The first letter in the sequence is b, which appears at index 1 (the list is indexed from 0 to 25). We put a 1 to the output stream:
1
The b moves to the front of the list, producing (bacdefghijklmnopqrstuvwxyz). The next letter is a, which now appears at index 1. So we add a 1 to the output stream. We have:
1,1
and we move back the letter a to the top of the list. Continuing this way, we find that the sequence is encoded by:
1,1,13,1,1,1,0,0
It is easy to see that the transform is reversible. Simply maintain the same list and decode by replacing each index in the encoded stream with the letter at that index in the list. Note the difference between this and the encoding method: The index in the list is used directly instead of looking up each value for its index.
i.e. you start again with (abcdefghijklmnopqrstuvwxyz). You take the "1" of the encoded block and look it up in the list, which results in "b". Then move the "b" to front which results in (bacdef...). Then take the next "1", look it up in the list, this results in "a", move the "a" to front ... etc.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Move-to-front transform」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.